// using Game.Core;
// using Unity.Entities;
// using Unity.Mathematics;
// using Unity.Transforms;
// using Unity.Rendering;
// using UnityEngine;
// using UnityEngine.Rendering;
//
// namespace SimpleExample.Test
// {
//     public class SimpleEcsCreater : MonoBehaviour
//     {
//         void Start()
//         {
//             AssetHolder assetHolder = Resources.Load<GameObject>("Demo/AssetHolder").GetComponent<AssetHolder>();
//             Mesh mesh = assetHolder.mesh;
//             Material material = assetHolder.material;
//
//             //获取默认的World和EntityManager
//             World world = World.DefaultGameObjectInjectionWorld;
//             EntityManager entityManager = world.EntityManager;
//             //创建Cube需要的所有Component对应的类型集合
//             EntityArchetype archetype = entityManager.CreateArchetype(
//                 ComponentType.ReadOnly<LocalToWorld>(),
//                 ComponentType.ReadOnly<RenderMesh>(),
//                 ComponentType.ReadWrite<RenderBounds>(),
//                 ComponentType.ReadWrite<TranslationFP>(),
//                 ComponentType.ReadWrite<WorldToLocal_Tag>(),
//                 
//                 // ComponentType.ReadWrite<BuiltinMaterialPropertyUnity_RenderingLayer>(),
//                 // ComponentType.ReadWrite<BuiltinMaterialPropertyUnity_WorldTransformParams>(),
//                 ComponentType.ReadWrite<BuiltinMaterialPropertyUnity_LightData>()
//             );
//             //创建Entity
//             Entity entity = entityManager.CreateEntity(archetype);
//
//
//             // var desc = new RenderMeshDescription(
//             //     mesh,
//             //     material,
//             //     shadowCastingMode: ShadowCastingMode.Off,
//             //     receiveShadows: false);
//             // RenderMeshUtility.AddComponents(entity, entityManager, desc);
//             
//             
//             //为Entity设置数据
//             entityManager.SetComponentData(entity, new LocalToWorld()
//             {
//                 Value = new float4x4(rotation: quaternion.identity, translation: new float3(0, 0.5f, 0))
//             });
//             
//             // entityManager.SetSharedComponentData(entity,  desc.RenderMesh);
//             entityManager.SetSharedComponentManaged(entity, new RenderMesh()
//             {
//                 mesh = mesh,
//                 material = material,
//                 // subMesh = 0,
//                 // layer = 0,
//                 layerMask = 0xffffffff,
//                 castShadows = ShadowCastingMode.On,
//                 // receiveShadows = true,
//                 // needMotionVectorPass = true,
//             });
//             entityManager.SetComponentData(entity, new BuiltinMaterialPropertyUnity_LightData
//             {
//                 Value = new float4(0, 0, 1, 0)
//             });
//             // entityManager.SetComponentData(entity, new BuiltinMaterialPropertyUnity_RenderingLayer
//             // {
//             //     Value = new uint4(0xffffffff, 0, 0, 0)
//             // });
//             // entityManager.SetComponentData(entity, new BuiltinMaterialPropertyUnity_WorldTransformParams
//             // {
//             //     Value = new float4(0, 0, 0, 1)
//             // });
//             // entityManager.SetComponentData(entity, new RenderBounds()
//             // {
//             //     Value = new AABB()
//             //     {
//             //         Center = new float3(0, 0, 0),
//             //         Extents = new float3(0.5f, 0.5f, 0.5f)
//             //     }
//             // });
//         }
//     }
// }